On-line system



10 Sheets-Sheet 1 bear/0n Data Processor 4 Ranabm Amumr A (4;: J Wfldaja m/ heir Attorneys.

Frank 8 AndremgJr.

R. M. TINK ETAL ON-LINE SYSTEM u MA w m a G i 5 m H m w r M L m B m a, m m a m .n m C 7. w

Ban/r Branch 40d. Comm/fer Bank Branch 2 Bank Branch 3 Q \\r j Passbook March 7, 1967 Filed Jan.

R. M. TINK ETAL 3,308,439

ON-LINE SYSTEM 10 Sheets-Sheet 2 March 7, 1967 Filed Jan. 2, 1964 Control row! F Contra/raw 4 Control raw 2 Contra/r0113 f Inventors.

fibberl A. M

' Attorneys.

/22 Control rows [-4 Robert M.

elnlclr Frank 8. Andrews,Jn

I20 Amount rows [-9 March 7, 1967 R. M. TINK ETAL ON-LINE SYSTEM 10 Sheets-Sheet 3 Filed Jan. 2, 1964 F I64 wmfkd m m mu \f' u w u u u n n u r 1 I8 I7 I6 1 1 IN I1 a R I lW/b m m m m m m m m m u n n u u u u u u m u n n u u m u S n u n u u n m m n n u u n u u m u u u n u n n n m u u n ma w m m m m m u m u H mm u u u u n. m m m m m n n n n w m n u n n u u u n m3 m3" m m m m m m m m u u u n a n n a n w h u n n u h u u u m n n n m u u n u n z 1 1 4 1 l i 1 1 1 w LL a L L LL 1 Keyboard Solenoids n u m m m M w mfifi a,

w mn 15%;?

LLLLLLL Y Rows sequential grounded lyeleclrmics unit 400.

Inventors Robert M. Tin/r Robert A. Mela/bk I-Trank 8. Andrews, Jr.

1 a By; o

an fromeys.

March 7, 1967 Filed Jan. 2, 1964 10 Sheets-Sheet 4 lnput message segment Output message segment Dig/I Digit i- 52 Information Pay-mm Information Window Mom/he I W/ndowMoc/une 7" Scan post/Ian Scan position 2 2 7 45,51 row Amount row 3" flql i m 3 9 Amount row Amount row 4 a a Amount row Amount row 77 or C- vvvv Col 5 7 6 Amount row 6 Amognt row Amount row 7 Amount row 7 M 5 5 Amount row Amount row 8 1 4 9 4 "I FbZ/37Tmf Amount row j 1 3 9 3 l0 Amoznt row Amoent mw H Amount row H Amount row Q WT/mm /c L fi WE w l2 L/ghts l3 wmdogngnachme /3 Auto cycle dig/t V fiiifi h 1 Control row Control row /4 4 l4 4 1 Control row Control row l5 7 LiAm I l5 1 Control row Control row 1 2 l6 2 Contrgl row Control row )8 Long/tud/no/ l8 Long/tud/no/ Check dig/t Check dig/t 490'- f 50 Inventors.

- Robert M. Tint 49 Robert A. Meln/clr 59 Frank B. Andrfi/lg Their A ttorneys.

Maw]! 1967 R. M. TINK ETAL ON-LINE SYSTEM 80 9 Em maS ou March 1967 R. M. TlNK ETAL OBI-LINE SYSTEM 10 Sheets-Sheet 7 Filed Jan. 2, 1964 R Q E -wwww I, E: E: i i i F -l f ..J F l March 7, 1967 R. M. TINK ETAL ON-LINE SYSTEM 10 Sheets-Sheet 9 Filed Jan. 2, 1964 March 1967 R. M. TINK ETAL ON-LINE SYSTEM 10 Sheets-Sheet l 0 Filed Jan. 2, 1964 r a 6. k ad a m .ww y 8 8 M m WHMMKW m MA M r m M n00 T mm @6 mai ey g

3L! ij 533E.. Ea um k n 558% United States Patent 3,308,439 ON-LINE SYSTEM Robert M. Tink, Redondo Beach, Robert A. Melnick, Los Angeles, and Frank B. Andrews, Jr., Gardena, Califi, assignors to The National Cash Register Company, Dayton, Ohio, a corporation of Maryland Filed Jan. 2, 1964, Ser. No. 335,184 13 Claims. (Cl. 340172.5)

This invention relates generally to data processing systems and more particularly to data processing devices intended for use in the banking field.

In the past decade there has been an upsurge in the use of banking services with more depositors, more borrowers and more special services being provided by banks each year. In many cases, the paperwork related to these services has increased disproportionally, with the result that banks have been forced to hire additional people and obtain additional floor-space in an attempt to maintain adequate customer services. To eliminate some of these problems, more and more banks have been looking towards the fast growing electronic data processing field to provide a solution to these problems.

Early application of data processing to the banking field involved the use of teller window machines which, in addition to the normal activities of updating a customers passbook and providing a journal tape for auditing purposes, also simultaneously punched a paper tape which could be removed from the Window machine and fed to a data processor for accounting purposes. While this early approach was a help in alleviating the paper work and employee time involved in keeping banking records current, many of the banks problems remained unsolved. For example, the teller still had to manually post the interest to the customer's passbook from an interest card provided by the back office at the end of each period. Also, the teller still had no convenient access to the banks record of accounts for reference purposes and it was necessary to provide account files on the floor which he could refer to when necessary.

To provide a more complete solution to such banking problems, more and more banks have been turning to what is commonly referred to in the computer art as an on-line system. From the banking point of view, an online system is one in which a teller, using an appropriate window machine, is able to send and receive information from a remotely located data processor while the customer is actually at the tellers window. In such a system the customers transaction (such as a deposit or a withdrawal) is fed via the window machine to the data processor which has full information of the customers account. Thus, the data processor can provide any appropriate information to the teller as well as causing proper updating of the customers passbook, all without the teller having to leave the window.

It will be appreciated that there are many possible approaches to the design of an on-line banking system. Obviously, if unlimited funds are available a highly sophisticated and very rapid system can be devised in accordance with presently known techniques so as to provide an on-line banking system having all the capabilities and speed that a bank might desire. However, as always, cost is a vital consideration so that a practical system must necessarily be a compromise between cost and function.

In accordance with the present invention an on-line system is provided which meets the important objectives of an on-line banking system at reasonable cost and with a minimum of required equipment and, in addition, provides a number of unique and highly advantageous features.

Accordingly, it is a broad object of the present invention to provide an on-line banking system which achieves 3,308,439 Patented Mar. 7, 1967 the important objectives of such a system at reasonable cost and with a minimum of equipment.

Another object of the invention is to provide an on-line banking system which requires a minimum of storage at each branch of a multi-branch bank system.

A further object of this invention is to provide, in accordance with any or all of the foregoing objects, an on-line banking system in which off-line operations can conveniently be handled in the event the data processor or the communication equipment associated therewith is not operating, and in which such off-line operations can conveniently be entered into the data processor at a later time for handling with previous or future on-line data.

Still another object of the present invention is to provide, in accordance with any or all of the foregoing objects, an on-line banking system which permits a reduction in the customer waiting time at the tellers window.

Still another object of the present invention is to provide a system, in accordance with any or all of the foregoing objects, which prevents undetected errors from occurring either at the teller window machine or at the data processor.

Yet another object of the present invention is to provide an on-line banking system, in accordance with any or all of the foregoing objects, in which the operations required of the teller are essentially the same during both on-line and off-line operations.

A still further object of the present invention is to provide an on-line banking ssytem, in accordance with any or all of the foregoing objects, in which errors will not be printed out on the customers passbook.

Yet a further object of the present invention is to provide an on-line banking system, in accordance with any or all of the foregoing objects, in which previous unposted information (such as interest and no book transactions) can be posted on the first presentation of the customer's passbook.

Still another object of the invention is to provide an on-line banking system, in accordance with any or all of the foregoing objects, in which current balances and account conditions are made available to any tellers window.

An additional object of the invention is to provide an on-line banking system, in accordance with any or all of the foregoing objects, in which the required changes in the operation and construction of conventionally available window machines for use with the system are reduced to a minimum.

Another object of the invention is to provide an online banking system, in accordance with any or all of the foregoing objects, in which messages from either the window machine or the data processor are divided into convenient message segments, these message segments being appropriately time-multiplexed by the system so as to increase the speed capabilities thereof with a minimum of required information storage.

A still further object of the invention is to provide an on-line banking system, in accordance with any or all of the foregoing objects, in which a variable transmission rate capability is provided for information fed from the data processor to the bank branches so as to permit slower operating mechanisms (such as are present in the window machine) to be satisfactorily operated, while permitting faster operating devices to receive information at a faster rate, thereby providing a higher average operating speed for the system.

Yet a further object of the present invention is to provide an on-line banking system, in accordance with any or all of the foregoing objects, in which a minimum of telephone lines are required between each bank branch and the banks central accounting location.

The specific nature of the invention as well as other objects, advantages and uses thereof will become apparent from the following description taken in conjunction with the accompanying drawings in which:

FIG. 1 is a schematic overall view of a typical online banking system in accordance with the present invention;

FIG. 2 illustrates a typical set up at a branch;

FIG. 3 is a pictorial view of a typical window machine;

FIG. 3a is a view of the machine of FIG. 3;

FIG. 4 is a schematic electrical diagram illustrating the keyboard switches incorporated in the window machine of FIG. 3 for use in reading out a keyboard entry;

FIG. 5 is a schematic electrical diagram illustrating the keyboard solenoids incorporated in the window machine of FIG. 3 for use in setting the keyboard in accordance with electrical signals derived from a data processor;

FIG. 6 is a fragmentary cross-sectional view illustrating how the window machine of FIG. 3 may be provided with a double keyboard to permit operation of the window machine in a similar manner whether by an operator or by electrical signals derived from a data processor',

FIGS. 7 and 8 respectively illustrate a typical format for input and output message segments transmitted between the central accounting location and each branch;

FIG. 9 (which is constituted by FIGS. 9a and 9b) is a schematic electrical block and circuit diagram illustrating a typical logical mechanization of a window 11121- chine and its associated electronics unit:

FIG. 10 (which is constituted by FIGS. 10a and 10b) is a schematic electrical block and circuit diagram illustratin a typical logical mechanization of a branch controller; and

FIG. 11 (which is constituted by FIGS. 11a and 11b) is a schematic electrical block and circuit diagram illustrating a typical logical mechanization of a buffer at the central accounting location.

INTRODUCTiON An overall schematic view of a typical on-line banking system in accordance with the present invention is illus trated in FIG. 1. It will be seen that the system broadly comprises a central accounting location 10 communicating with a plurality of bank branches 20 by means of telephone lines 20a. At the central accounting location 10, a data processor 12 is provided cooperating with a random access unit 13 which provides rapidly accessible high capacity storage for information concerning customer accounts. A buffer 15 is provided between the data processor 12 and the telephone lines a to control the flow of information between the bank branches 20 and the data processor 12. While only three branches and one buffer 15 are shown in FIG. 1, it will be appreciated that additional branches and buffers could also be employed.

Still referring to FIG. 1, it will be seen that at each of the bank branches 20, a plurality of window machines 40 serve as the input-output point of origin device for each teller. Each window machine 40 is connected to a respective electronics unit 40a by means of which it is able to communicate with a branch controller 30. The branch controller is in turn connected to its respective branch telephone lines 200 and serves to control communication between the window machines at the branches 20 and the butter 15 at the central accounting location 10. FIG. 2 illustrates how the equipment at a branch may typically be set up.

In the exemplary embodiment of the invention to be considered herein, there is essentially no message storage at the branch other than that provided by the window machines themselves, and each branch controller 30 perkeyboard of the window mits only one window machine at a time to communicate with the butter 15 at the central accounting 10. The operation of the butter 15 is such that, at any one time, the butter can communicate with either a selected window machine of a selected branch, or with the data processor 12, but not both at the same time. Such restrictions are of considerable help in reducing the system equipment and cost requirements. As will hereinafter become evident, the present invention makes it possible to provide an eflicient and sufiiciently fast system despite these restrictions.

While various types and forms of equipment can be employed in the on-line banking system of the present invention, some exemplary equipment may be mentioned which are well suited for use in various parts of the system. For example, the data processor 12 at the central accounting location 10 in FIG. 1 may be of the type disclosed in the commonly assigned copending patent application Serial No. 107,109, filed May 2, 1961, while the random access storage unit 13 in FIG. 1 may be of the type disclosed in the commonly assigned copending applications Serial No. 12,032 and Serial No. 162,626 respectively filed on March 1, 1960 and December 8, 1961.

THE WINDOW MACHINE The window machine 40 indicated in FIGS. 1 and 2 is preferably of the type illustrated and described in U.S. Patent No. 2,774,298, issued to Everett H. Placke et al. on December 18, 1956, which has long been used by a number of savings banks to record the deposits and withdrawals of their customers. Since this window machine is fully disclosed in the aforementioned patent, it will only be considered very generally herein, it being understood that the window machine of the present invention may be sitnilarly provided, except for various modifica' tions desirable for incorporation of the machine into an on-line system. A typical manner in which these modifications may be provided is illustrated and disclosed in the copending commonly assigned U.S. patent application Serial No. 308,382, filed September 12, 1963.

FtGS. 3 and 3a illustrate a window machine 40 of the type disclosed in the just mentioned copending application Serial No. 308,382. A sloping keyboard 41 contains the nine rows of amount keys 120, the four rows of control keys 122, and three groups of indicator lamps indicated at 125. Beneath the keyboard 41 at the front of the machine is a printing table 43 to accommodate the customers passbook. To the left of the printing table 43 is another printing table 44 to accommodate the transaction slip which is filled out by the customer prior to stepping up to the tellers window. To the right of the printing table 43 in the window machine is another printing mechanism for printing on an audit strip which is visible through a window 45. This audit strip is retained in the machine and all entries in the window machine are printed thereon for auditing purposes, while only selected entries are printed on the customers passbook and the transaction slip. As in the aforementioned Placke et al. patent, the window machine also includes an add-subtract totalizer which allows the printing of proper balances, whether they be positive or negative, or whether a deposit or a withdrawal is being entered.

More recent window machines of the general type disclosed in the aforementioned patent have provision to permit information entered into the keyboard to be electronically scanned to cause a paper tape to be punched in response thereto. This is a well known feature of many types of accounting machines and may advantageously be employed in the present invention to permit read out of information entered into the window machine. A typical manner in which this is accomplished is schematically illustrated in FIG. 4 in which each keyboard switch illustrated therein corresponds to a respective key in the keyboard 41 of FIGS. 3 and 3a; only the first two rows and the last row of keyboard switches are shown in FIG. 4 for the sake of simplicity. It will now be understood that the window machine may typically operate so that information entered into the keyboard by the teller will be transferred to the respective keyboard switches in FIG. 4 when the window machine cycles, a keyboard switch then being closed only if its respective key was depressed by the operator. It will also be understood that if each of the keyboard rows R R R is then sequentially energized by signals from the respective electronics unit a, the particular one of the columns I, t0 1,, in FIG. 4 which receives a signal will correspond to the particular key which was depressed in each row. If none of the columns I, to I receives a signal, then it indicates that no key in the row was depressed, which for the amount rows signifies a zero. By such an arrangement, therefore, the keyboard of a window machine may be interrogated to permit information to be read out therefrom for transmission to the branch controller 30 and then on to the buffer 15 and the data processor 12 at the central accounting location 10.

In addition to being able to send out data entered into its keyboard, the window machine in the o-n-line system of the present invention is also able to receive messages from the data processor and to be operated thereby in the same manner as if the information were being entered manually by a teller. As disclosed for example in the aforementioned copcnding application Serial No. 308,382, and as similarly illustrated in FIG. 5, this may be accomplished by the use of an auxiliary solenoid-operated keyboard which is superimposed over a conventional keyboard, such as the keyboard illustrated in the aforementioned Placke et a]. patent. Only one key 490 from the auxiliary upper keyboard and its respective cooperating key 491) in the lower keyboard is shown in FIG. 6, but it will be understood that the other keys may be similarly arranged.

As illustrated in FIG. 6, the upper key 49 is provided with a shaft having an upper portion 49a of magnetizable material and a lower portion 49b of an unmagnetizable material, the two portions 49a and 491) being rigidly coupled together. The lower end of the unmagnetizable portion 49b is located adjacent and in contact with the head of the lower key 59. It will be understood, therefore, that when the teller presses the upper key 49, it will cooperate with the lower key 59 to cause operation thereof just as if the teller were depressing the lower key 59 directly.

The arrangement shown in FIG. 6 will thus not affect the tellers normal operation of the keyboard, but it will permit the data processor to operate the keyboard in the same manner as the teller. This is accomplished by providing a solenoid 50 encircling the shaft 49a, 49b of the upper key 49 and having an appropriate energizing winding. When this solenoid winding is suitably energized by an electrical signal, the upper magnetized portion 49a of the shaft of the upper key 49 (in accordance with conventional solenoid action) will be driven downward into the solenoid to cause operation of the lower key 59 just as if the upper key 49 were depressed by the teller.

FIG. 5 illustrates how the solenoid 50 of each key may typically be interconnected with the solenoids of other keys in order to permit the data processor to cause the appropriate key in each row to be depressed. The keyboard solenoids 50 are arranged in an array similar to the arrangement of the keyboard switches in FIG. 4. When information is to be entered into the window machine keyboard from the data processor, the rows R R R are sequentially grounded in synchronism with the application of signals 0 to O to selected columns of the array in accordance with the information to be entered. In other words, as each row is grounded, a selected one of the signals 0 to O is applied to a respective column of the array to cause the solenoid located at the thus selected row and column to be the only one through which a complete circuit is provided. Consequently as 6 each row is grounded, only a selected solenoid in the row will be energized to cause activation of its corresponding key in the keyboard. If no key is to be activated in a row, no signal is applied to any of the columns when that row is grounded.

With regard to the lights 125 provided on top of the window machine keyboard 41 in FIG. 3, at this time it is sufficient merely to note that certain ones thereof are connected to the respective electronics unit 40a to apprise the teller of various conditions during the handling of a customer transaction, such as the existence of an error.

As to information concerning the operations performed by specific keys of the window machine and/or other features not mentioned herein, or only generally mentioned, reference may be made to the aforementioned Placke et al. patent and the copending application Serial No. 308,382.

SYSTEM OPERATION At this point, it will be helpful to generally examine the operation of the on-line system of the present invention. This description will be provided in two ways. First, for the sake of simplicity, a description will be given considering just the overall cooperation between a window machine 40 and the data processor 12 (including its random access unit 13) during a typical transaction, without considering the operation of the intermediate equipment-that is, the respective electronics unit 40a, the branch controller 30, and the buffer 15 shown in FIG. 1. This description will then be followed by a description which will primarily consider the function and operation of the intermediate equipment. Finally, to complete the specification, the two descriptions above will be followed by a typical example illustrating how the online system of the present invention can be mechanized.

Overall cooperation between a window machine and the data processor A simple deposit or withdrawal transaction will illustrate a typical on-line operation. When a customer wishes to deposit or withdraw from his savings account, he fills out a transaction slip on which he indicates the nature and amount of the transaction. The customer then walks up to any tellers window and presents this transaction slip and his passbook to the teller. The teller verifies the amount of the transaction and inserts the passbook into the center printing table 43 and the transaction slip into the left printing table 44 (FIG. 3). The teller then enters the amount of the customers old balance into the amount keys (FIGS. 3 and 3a) and depresses the BALANCE PICKUP key (FIG. 3a) in row 2 of the control keys 122 to identify that it is the customer's old balance which has been entered. Depression of this BALANCE PICKUP key causes the window machine to be cycled so that the data in the keyboard is transferred to the keyboard switches (FIG. 4).

Depression of the BALANCE PICKUP key also causes the old balance to be recorded in the window machine add-subtract totalizer, and printing occurs only on the audit strip and not on the transaction slip or the customers passbook. The thus entered old balance constitutes the first entry of three entries which will be made by the teller in handling the typical customer transaction being considered here.

A short time after the teller enters this first entry constituting the customers old balance (which is normally no longer than a few seconds), the data thus entered into the keyboard will automatically be read out (as previously described in connection with FIG. 4) and sent to the data processor along with appropriate auxiliary information (such as the window machine number, the scan position at its respective branch, and error check signals). This first entry and its auxiliary information sent to the data processor constitutes the first of three input message segments (one for each entry by the teller) which will be sent to the data processor in handling this typical customer transaction. Message segments sent from the window machine to the data processor will be designated as input message segments, and message segments sent from the processor to the window machine will be designated as output message segments.

After the window machine keyboard switches have been read out, an appropriate one of the lamps 125 (FIG. 3) on the keyboard will be illuminated to indicate that the teller may make the second entry into the window machine. This second entry is the transaction-that is, the amount to be deposited or withdrawn from the customers account. The teller enters the transaction by entering the amount of the deposit or withdrawal in the amount keyboard 120 (FIG. 3), and then depresses an appropriate one of the control keys 122 such as, for example, the A DEPOSIT key (FIG. 3a) if the transaction is a deposit, or the A W DRAWAL key if the transaction is a withdrawal. The A" on these deposit and withdrawal keys merely identifies a particular teller, there also being a B DEPOSIT key and a B W DRAWAL key for use by another teller. Depression of these deposit or withdrawal keys cycles the window machine, but the transaction is not stored since the window machine addsubtract totalizer is not affected, and printing occurs only on the audit strip. Thus, during input, the window ma chine merely serves as a way of sending the transaction to the processor, but does not store the transaction, except on the audit strip.

As with the first entry, a short time after the teller makes the second entry into the window machine corre sponding to the transaction, the window machine keyboard will automatically be read out, and along with appropriate auxiliary information will be sent to the data processor as the second input message segment. At the processor, this second input message segment containing the transaction is stored with the first input message segment until the third and last input message segment is received by the processor.

After the second entry is read out, the window machine indicates by a lamp on the keyboard that the teller may make the third and final entry which is the customers account number. The teller makes this final entry by entering the account number into the amount keys 120 (FIG. 3) and depressing his appropriate number control key to cycle the machine, such as the A ACCOUNT NUMBER key. As with the depression of a deposit or withdrawal key, depression of an account key cycles the window machine, but does not afi'ect the window machine add-subtract totalizer and prints only on the audit strip. The depression of an account key is also used to signify the end of an input message. In addition, depression of an account key causes the keyboard to be locked out from further manual entry by the teller (except for certain special keys such as the VOID key) until the data processor completes its output message.

Again, shortly after the teller makes this third and final entry constituting the customers account number, the window machine keyboard switches (FIG. 4) will automatically be read out, and along with appropriate auxiliary information will be sent to the data processor as the third and final input message segment. Since this is the final input message segment, an appropriate lamp on the keyboard is illuminated to apprise the teller that the input message is completed and the window machine is awaiting an output message from the data processor.

The data processor receives an input message segment for each entry made by the teller. When the data processor receives the final input message segment from the window machine containing the customers account numher and a signal representative of the depression of an account key, it recognizes that the input message is completed and begins processing the transaction. First, using the customers account number contained in the final message segment, the data processor selects the customers account record from the random access unit 13 (FIG. 1). The processor then compares the passbook old balance contained in the first input message segment with the balance stored in the customers account record. If they agree, the processor then applies the transaction contained in the second input message segment to update the customers account record, which is then returned to the random access unit, and an output message consisting of a single output message segment (which is all that is necessary for this typical transaction) is sent to the window machine from which the input message was received.

This single output message segment sent by the processor contains the same transaction which was sent to the data processor by the Window machine in the second input message segment, and operates on this same window machine to cause activation of selected ones of its keyboard solenoids (as previously explained in connection with FIGS. 5 and 6) in accordance with the transaction. Thus, just as occurred as a result of the teller marking the second entry, the amount keys (FIGS. 3 and 4) of the window machine are activated in accordance with the amount of the transaction, and an appropriate control key, such as A DEPOSIT or A W DRAWAL is activated to identify the teller and the type of transaction. However, in addition, the output message sent by the data processor also causes depression of the RECEIVE key in order to permit printing of the transaction in the customers passbook and on the transaction slip. This is the first time that anything is printed in the customers passbook, although all entries in the keyboard, whether by the teller or the processor, are printed on the audit tape. The advantage of not permitting printing in the customers passbook until this time is that errors which may occur during handling of the transaction will not be printed in the passbook.

Depression of the RECEIVE key also permits activation of the add-subtract totalizer, so that only at this time will the transaction be added to (or subtracted from) the customers old balance which was placed in the addsubtract totalizer during the tellers first entry as a result of depression of the BALANCE PICK UP key. The output message from the data processor is terminated by the processor causing depression of the BALANCE key which automatically initiates a second cycle that clears the addsubtract totalizer, prints the new balance in the customer's passbook, the transaction slip and the audit strip, unlocks the keyboard, and illuminates an appropriate lamp on the keyboard to inform the teller that the window machine is ready to handle the next customers transaction.

At this point in the description, it will be helpful to note why it is advantageous to have the data processor send back the transaction to the window machine, rather than some other information, such as, for example, the new balance. The reason is that it is an important objective to have the window machine operate in the same manner, whether it is being operated by the teller or the data processor. This not only permits the same type of window machine mechanization to be employed as is already available in presently used bank window machines, but also makes conversion to off-line operation a simple matter in the event that the on-line system is inoperative. It will be understood that by having the data processor send back the transaction to the window machine along with causing depression of the RECEIVE and BALANCE keys permits the window machine to operate just as if the teller were making the same entry, in Which case, the window machine totals and printing mechanisms are activated to print out and extend the balance essentially as in the presently available window machine disclosed in the aforementioned Placke et al. patent.

It will of course be appreciated that the typical transaction oonsidered above is merely exemplary and that many variations are possible. For example, if the data processor finds that the old balance contained in the first input message segment sent by the window machine does not agree with the balance provided by the random access storage unit, it then checks to see whether there is any unposted interest or no-book transactions which has not been posted to the customer's passbook. If including these amounts produces agreement, the data processor will first send appropriate output message segments (along with signals to cause depression of the RECEIVE key and SUB BALANCE key for each segment) to post the previously unposted transactions. The data processor will then send an output message segment containing the new transaction as well as a signal to depress the BALANCE key to extend the overall balance and indicate the end of the output message from the computer, after which the customers passbook will be completely updated. It is to be noted that each of the unposted transactions, like the new transaction, is sent to the window to cause operation thereof just as if the teller knew of these unposted transactions and entered them himself.

As a third exemplary variation, it is to be noted that in in the event that the data processor cannot reconcile the old balance sent by the window machine, or cannot find the account number, then the computer may send back an error message segment to the window machine which lights an appropriate lamp on the window machine keyboard to inform the teller of the error condition.

It will further be understood that other types of transactions may be handled besides merely a deposit or withdrawal. For example, the teller may merely wish to inquire about the status of a customers account. In such a case he would make only a single entry which would be the customers account number followed by depression of an account number key (such as A ACCOUNT NUM- BER). The processor would then be initiated by a signal derived from the depression of the account number key (as with any other type of transaction) but because only the account number was sent, the processor would recognize that just the status of the customers account was being requested, and would send an appropriate output message accordingly.

As a further example, the transaction may merely involve the updating of a customers passbook without a deposit or a withdrawal. In such a case, the teller makes two entries, the first one being the customers old balance and the second being the customers account number. Again the processor is initiated by a signal derived from depression of an account number key, and this time would recognize, from the absence of an input message segment corresponding to a specific transaction, that only updating is requested and would accordingly send only the requested updating information (such as unposted interest or previous no-book transactions).

Description of the operation the intermediate equipment between the window machine and the data processor The primary purpose of the previous overall description has been to provide a general idea of system operation from the viewpoint of the window machine and the data processor. The present description will now consider the part played by the intermediate equipment shown in FIGS. 1 and 2, namely the respective electronics unit 40a associated with each window machine, the branch controller 30, and the buffer at the central accounting location 10.

Initially, it will be helpful to note that in the exemplary on-line system being considered herein, operation is such that only one message segment (whether an input message segment or an output message segment) can be sent or received at a time, and scanning is employed to permit appropriate sharing of the sending and receiving facilities so as to permit the system to handle customer transactions at high speed, despite the fact that only one message segment is communicated at a time. This intermixing of message segments (rather than of whole messages, for example) permits the most advantageous use of the available time.

This division into message segments is advantageous because a message segment includes the full capacity of a single entry transferred into the window machines keyboard switches (FIG. 4) and can be read out therefrom without waiting for any further activity of the teller. If a window machine does not contain an input message segment or is busy, the scanning system permits operation to proceed to a different window machine so that a window machine which is ready to send an input message segment to the data processor will not be held up by the actions of the tellers of other window machines. Output message segments are not under the control of the teller so they are likewise not unduly slowed up by teller activity. Furthermore, it will be appreciated that the division of a message into separately communicated message segments is not burdensome on the teller since, after entering a message segment, it takes a significant time (as compared to the time of equipment operation) for the teller to enter the next message segment and by that time the system is usually able to accept the next input message segment.

It is also to be noted that another advantageous feature of the invention resides in the manner in which the end of a complete message is signified. It will be remembered that for an input message the end of the message is signified by depression of an account number key on the last entry by the teller, and the signal derived therefrom in the last input message segment permits the processor to recognize the end of the message. Thus, no matter how many segments an input message requires, the processor will always be able to recognize when the input message is completed in this convenient manner. This same advantage is realized for the output message by the depression of the balance key during the automatic second cycle of the last output message segment. As will become apparent, the use of such an approach for signifying the end of both an input message and an output message makes it possible for the intermediate equipment to operate in substantially the same manner on all input message segments, and in substantially the same manner on all output message segments, regardless of the particular type of data contained therein, thereby permitting a simpler and more economical system.

Now considering the operation of the intermediate equipment provided between the window machine and the data processor, it is to be understood that, while many steps are involved, they occur very rapidly at electronic or electromagnetic speeds.

For ease of understanding, the description will be provided in two parts, the first part being concerned with the operation occurring when the window machine sends data to the data processor (input information flow), and the second part being concerned with the operation occurring when the data processor sends data to the window machine (output information flow). Also, each part will be broken down into numbered steps.

Input information flow -(From window machine to processor) (1) When the branch controller 30 at each branch is able to accept an input message from a window machine 40, it serially scans the branch window machines 40 via their respective electronics unit 40:! looking for a window machine which is ready to send an input message segment.

(2) When the scanning of the controller 30 causes it to arrive at a window machine which is ready to input an input message segment from its keyboard switches (FIG. 4), the controller 30 stops scanning and locks onto that window machine 40 via its respective electronics unit 40a. For the purpose of this description, the selected window machine will be referred to as window machine #1, and its branch as branch #1, and it will be assumed that the same three entries are to be entered into the window machine and the same three input message 11 segments are to be sent to the central location as assumed in the previous description.

(3) After the tellers first entry (which is the customers old balance) has been transferred to the keyboard switches as a result of the teller depressing the BALANCE PICKUP key, and the branch controller 30 subsequently locks thereon, the controller 30 sends a REQUEST TO INPUT control signal to the buffer at the central installation 10, via its respective telephone lines 200, to advise the buffer that branch #1 is ready to send an input message segment.

(4) Like the branch controller 30, when the buffer 15 at the central location 10 is able to accept an input message segment, it serially scans the branches via their respective telephone lines 200 looking for a REQUEST TO INPUT control signal. When the buffer finds such a control signal being sent by a branch, as it will for branch #1 in the present example, it stops scanning, locks onto the branch #1 scan position, sends an OK. TO INPUT control signal thereto, and gets prepared to receive an input message segment.

(5) When the branch controller of branch #1 receives the OK. TO INPUT control signal from the buffer 15, an input message segment of 18 binary coded digits of seven bits each is sent serially bit by bit to the buffer 15. This first input message segment sent to the buffer includes the settings of the window machine keyboard switches (which for the first input message segment corresponds to the customers old balance), the particular number assigned to machine #1 (which is different for each window machine in the entire system), the scan position of window machine #1 with respect to the controller 30 of branch #1, a parity bit for each binary coded digit, and a longitudinal parity digit. FIG. 7 illustrates a typical input message format which may be employed. It will be noted that digit position 2 is empty, but this is merely a matter of choice and permits an additional binary coded digit of information to be sent if so desired.

(6) The buffer 15 receives the 18 digit input message segment sent by branch #1, loads it into a buffer register provided in the buffer 15, and checks the input message segment for parity. Either (a) or (b) below then occurs.

(a) If an error is found, the buffer 15 voids the input message segment and sends out a MESSAGE ERROR control signal to the branch controller 30 of branch #1 which in turn sends a signal to window machine #1 via its respective electronics unit to cause illumination of the window machine error lamp. Both the buffer 15 and the branch controller 30 are then released for further scanning so as to be able to attend to other window machines. The window machine error lamp advises the teller to press the VOID key which voids the previous keyboard entry and the teller must repeat the particular entry for which the error occurred, but need not repeat any previous entry which was sent without error.

(b) If no error is found by the buffer 15 in receiving the first input message segment from branch #1, then the buffer 15 sends out a MESSAGE OK. signal to the branch controller 30 of branch #1. This MES- SAGE O.K. signal causes the branch controller 30 to resume scanning and an appropriate lamp to be illuminated on the window machine keyboard to inform the teller that the window machine is ready to receive the second entry (which in the typical example being considered here is the transaction, such as a deposit or withdrawal).

(7) Assuming that the first input message segment is received without error, the buffer 15 retains the input message segment in its buffer register and signals the data processor 12 that it is ready to feed an input message segment thereto. When the data processor 12 signals that it is ready to accept an input message segment, the buffer 15 feeds the first input message segment stored in the buffer register serially, decimal digit by decimal digit (along with the branch #1 scan position number) to the data processor 12 where it is appropriately stored therein to await receipt of the remaining input message segments from window machine #1. After feeding the first input message segment to the data processor 12, the buffer 15 is free to resume scanning.

(8) After the tellers second entry constituting the transaction is transferred to the keyboard switches as a result of the teller having depressed a deposit or withdrawal key, and the branch controller 30 again locks on window machine #1, the same steps described above for the first input message segment are repeated for the second input message segment, culminating in the feeding and storage of the second input message segment in the data processor 12 along with the first input message segment.

(9) After the third entry of the teller (which is the customer's account number) operation also occurs in the same manner as described above for the first input message segment, culminating in the feeding of the third input message segment to the data processor. However, the signal derived as a result of the teller depressing an account number control key (such as A AC- COUNT NUMBER), when received by the data processor, serves as a signal to tell the processor that the input message is completed. Also, as a result of the teller depressing an account number control key in making the third entry, the window machine keyboard is locked out to prevent manual entry by the teller until the data processor has responded with an output message. In addition, an appropriate lamp is illuminated on the keyboard to inform the teller that the window machine is awaiting the receipt of an output message from the processor.

Output information. flow(Fr0m processor to window machine) (I) As a result of receiving the final input message segment which contains a signal derived from the depression of an account number control key, the data processor begins processing the input message. First, using the customers account number contained in the third input message segment, the data processor 12 selects the customers account record from the random access unit 13 and compares the customers old balance contained in the first input message segment with the balance stored in the customers account record. If they agree, the processor 12 then applies the transaction contained in the second input message segment to update the customers account record, which is then returned to the random access unit 13. Also, an output message consisting of a single output message segment is assembled by the processor which contains the same transaction as was contained in the second input message segment. The processor 12 then signals the buffer 15 that it is ready to send an output message segment thereto.

(2) When the butter 15 is signaled that the processor is ready to send an output message segment, the buffer 15 completes the handling of any message segment with which it may be involved and then proceeds directly to prepare to receive the output message from the processor 12 without handling any other input messages-that is, an output message segment has priority over an input message segment. Also, while the buffer 15 is busy completing a previous transaction, it will provide a signal to the processor 12 which gives the processor the option of either waiting or doing other work until the buffer indicates it is ready.

(3) When the buffer is ready to receive an output message from the processor, it provides an appropriate signal to the processor which causes the processor to feed the output message binary coded digit by binary coded digit (along with the scan position number of the branch for which the output message segment is in tended) to the buffer 15 where it is stored in the bufier register.

(4) After being loaded with an output message segment from the processor, the butter sends a REQUEST TO OUTPUT control signal to branch #1 and the processor is released to perform other activity; however, the processor still retains the output message segment just sent until it receives an indication from the buffer that the output message segment was properly received by the window machine.

(5) Vl ithout waiting for an answer from branch #1, the buffer sends an output message segment of 18 binary coded digits of seven hits each to branch #1, the first digit of which corresponds to the scan position of window machine #1 and causes the controller 30 of branch #1 to try and select window machine #1. A typical output message segment is illustrated in FIG. 8. It will be noted that this typical output message segment is similar to the input message segment of FIG. 7, except for digit ositions 12 and 13. In the input message segment, digit positions 12 and 13 are used to identify the window machine. In the output message segment, digit position 12 controls the window machine keyboard lights 125 (FIG. 3), and digit position 13 controls what type of automatic second cycle is to be provided-such as a balance cycle at the end of an output message, or a subbalance cycle at the end of an output message segment where other output message segments are still to follow.

(6) When the branch #1 controller tries to select window machine #1 in response to receiving the window machine scan position, there are various possible situations that can occur as indicated by (a) and (b) below:

(a) If window machine #1 is ready to accept an entry when the controller tries to select window machine #1 in response to the scan position number in digit position 1 of the output message, then selection occurs and the window machine keyboard solenoids (FIG. 6) are set in accordance with respective digits of the output message segment, the butter providing a sufficient time interval after the transmission of keyboard digits so as to give the keyboard solenoids a suflicient chance to operate. Since zero digits as well as other non-solenoid digits do not require solenoids to be set, no such waiting interval is provided. In order to give the controller 30 a chance to fully check the parity of the output message segment sent by the buffer, activation of the solenoid corresponding to the key which will initiate a window machine cycle (such as the keys in control row 3 in FIG. 3a) is delayed until parity is checked. If parity checks out okay, a MES- SAGE O.K. signal is sent by the controller 30 to the butler 15 which causes the butter 15 to notify the proces sor that the output message segment was properly received by window machine #1, the buffer then releasing to attend to other branches. A correct parity check also crmits the controller to activate the remaining cycleinitiating solenoid of window machine #1, causing the window machine to cycle and the controller 30 to be released to attend to other window machines. A second cycle is then automatically initiated by the electronics unit 40a of window machine #1 by causing depression of an appropriate cycle-initiating key (such as the SUB BALANCE or BALANCE key) in accordance with the automatic cycle digit in digit position 13 of the output message segment. An appropriate lamp in the window machine keyboard may be illuminated as determined by the lam information in digit position 12 of the output message segment.

(b) If window machine #1 is busy when the controller tries to select window machine #1 in response to receiving the window machine scan position in digit position 1 (FIG. 8), or if the controller finds a parity error, then the branch #1 controller will send a MESSAGE ERROR control signal to the butter 15 which causes the buffer to signal the processor that the output message segment could not be received by window machine #1, whereupon the processor releases to attend to other win dow machines, or to do other work, and will not try to send this same output message segment for a predetermined time. If a parity error caused the MESSAGE ERROR control signal to be sent by the controller, an appropriate lamp on the keyboard of window machine #1 will be illuminated to inform the teller that he should depress the VOID key in order to wipe out any portion of the output message segment which was entered in the window machine keyboard by the processor.

(7) Any other output message segments from the processor are handled in the same manner as just described above. As far as a particular window machine is concerned, it recognizes the end of an output message (which may consist of a plurality of output message segments) as a result of the BALANCE key being activated in accordance with the automatic cycle digit in digit position 13 of an output message segment. Thus, the signal which causes depression of the BALANCE key signifies the end of an output message just as a signal derived from depression of an account number key (such as A AC- COUNT NUMBER) significs the end of an input message.

Illustrative system mechanization An illustrative system mechanization will now be presented to show how the previously described operations can be mechanized. It will of course be appreciated that logical functions and operations can be mechanized in many different ways. From the viewpoint of the present invention, the invention resides primarily in the discovery of the type, order, arrangement and character of the particular functional operations which will give the most advantageous on-line banking system (as described previously herein), and not in the detailed logical mechanization employed which may take various forms. Consequently, wherever possible, well-known block representations will be employed rather than specific structure or circuitry in order not to obscure the description with insignificant details. Also, only the mechanization required for a typical situation will be shown, since this will serve as a sufiicient illustration of mechanization, it being understood that many variations are possible, and that additional logical functions and operations may be added as desired.

The illustrative mechanization will be presented in two parts. The first part will consider the mechanization at a typical branch using FIGS. 9 and 10. FIG. 9 illustrates a Window machine 40 and its associated electronics unit 40a, and FIG. 10 illustrates a branch controller 30. The second part will consider the mechanization at the central accounting location using FIG. 11 which illustrates a typical buffer 15. It will be noted that each of FIGS. 9, 10 and 11 require two sheets, the respective figures being designated as 9a and 9!) corresponding to FIG. 9, 10a and 10b corresponding to FIG. 10, and Ila and 11b corre sponding to FIG. 11.

Some initial points concerning various conventions used in FIGS. 9ll will be helpful in understanding the description to follow. First, it will be noted that, in addition to the use of various labeled block representations in FIGS. 9-14, conventional AND and OR gates are appropriately illustrated as semicircles, a plus sign in the semicircle indicating an OR gate, and a dot in the semicircle indicating an AND gate. As is well known, an OR gate will provide a true output when any of its inputs are true, while an AND gate will provide a true output only when all of its inputs are true. When many related gates are involved, they are represented in a single block for the sake of simplicity (such as the input message gates 200 in FIG. 9a), the enabling signals for such block-represented gates (such as 210a in FIG. 9a) being applied to the block perpendicularly to the data and other signals controlled thereby. A similar manner of designation is also used for the enabling signals of other block representations, such as for example the binary to decimal converter 305, and the control character decoder 310 in FIG. 10b.

It is also to be noted in FIGS. 9-11 that, in order not to confuse the figures with an excessive number of lines, various particular lead lines which are treated as a group (such as I -I and -0 in FIGS. 9a and 9b)are bracketed together (such as by brackets 161a and 1611) in FIGS. 9a and 9b) into a single composite lead line (such as 162 in FIG. 9a) when they are to run any significant distance in the figures. Each such composite lead line is appropriately unbracketed and labeled at suitable locations to permit the particular group of lead lines represented thereby to be readily identified.

Also, where all or a portion of a particular group of lines are to be fed to more than one block, the composite lead line corresponding thereto is treated as a single line with a dot" provided at the branch point to indicate a common connection between respective lines, such as illustrated for example at 270a in FIG. 9a. Where only a portion of the lead lines of a group are branched off, as at 271 in FIG. 9a, the particular lines which are branched off are appropriately labeled. If there is no labeling of particular lines at a branch point of a composite lead line, it can be assumed that all of the lead lines in the group represented thereby are common to both branches.

It is further to be noted that, for convenience, signals and lead lines are provided with the same designation. For example, the designation 1 -1,; in FIG. 9a refers to the lead lines as well as the respective signals which appear thereon. In addition, to aid in understanding FIGS. 9-11, designations for signals (or lines) associated with input messages are chosen to include a capital 1 in their designation (such as lD -ID 1P IX etc.), while designations for signals associated with output messages are chosen to include a capital 0 in their designation (such as OD -OD 0P OX etc.). Also components of the window machine 40 are designated by 100 series numerals, its associated electronics unit 40a by 200 series numerals, the branch controller 30 by 300 series numerals, and the buffer 15 by 400 series numerals. Still further, it will be helpful to note that the a parts of FIGS. 9-11 (that is 9a, 10a and 11a) are primarily concerned with input message functions while the b parts of FIGS. 9-11 (that is 9]), 10b and 11b) are primarily concerned with output message functions.

Another point which is worth noting at this time is with regard to the operation of the various flip-flops and counters illustrated in FIGS. 9-11, such as for example the input select flip-flop 210 in FIG. 9a and the input program counter 300. The operation of these flip-flops and counters is chosen so that the operation of the counter or flip-flop in response to a true input is appropriately delayed (such as by making the counters and flip-flops responsive to the trailing edge of the true input pulse) so as to avoid retriggering problems. Thus, when referring to FIGS. 9-11, it should be recognized that when a true input signal is applied to a counter or flip-flop, the respective counter or flip-fiop will remain in its last state until the true input signal is removed.

It is further to be noted with respect to FIGS. 9-11 that the cooperation of the buffer 15 at the central location is illustrated for only one branch and for only one window machine 40 and its associated window machine electronics 40a in the branch. However, since other branches and other window machines are connected and operated in a similar manner, the description of FIGS. 9-11 will sufiice to illustrate the construction and operation of all. In order to clearly indicate how the branch controller 30 is connected to the eight exemplary window machines 40 provided at a branch via their respective electronics units 40a, those lines emanating from the right side of the branch controller 30 in FIGS. 10a and 10b which are respectively connected in parallel with all of the associated electronics units are marked with an X. The other lines emanating from the right side of the controller 30 in FIGS. 10a and 10b are each designated with numerical subscripts (l, 2, 3, 8) which correspond to the particular one of the eight window machine associated electronics units 400 for which each such line is intended (such as lines IW IW for example).

As a final area of consideration before beginning the description of a typical mechanization, it will be helpful to briefly summarize the general logical design approach which is employed in the exemplary mechanization.

The design approach employed in the exemplary mechanization is a conventional one in which an overall operation is performed in a series of sub-operations. It is convenient to provide for the performance of. the various sub-operations by means of what is generally referred to as a program counter, each program count of which corresponds to one sub-operation. The program counter is nothing more than a conventional type counter whose advancement is controlled by appropriate input logic operating in dependence on control and data signals. The output program counts of the program counter are fed to appropriate logical circuitry to render operative, during each program count, the particular logical circuitry required for the performance of the particular sub-operation to which each program count corresponds. The mechanization can thus be most expeditiously described by considering what happens during each program count, and the conditions which determine the advancement from one count to another.

Four program counters are employed in the typical mechanization illustrated in FIGS. 9-11, two of these being involved in controlling input message segments, and the other two being involved in controlling output message segments. One input program counter 300 and one output program counter 320 are located in the branch controller 30 (FIGS. 10a and 10b), and the other input program counter 400 and the other output program counter 420 are located in the buffer 15 (FIGS. 11a and 11b). The lines emanating from the right side of each program counter in FIGS. 9-11 represent its respective program counts. The logic circuitry provided pointing to the program count designations arranged along the top or bottom edge of each program counter indicates the conditions for advancement.

For convenience of description, the branch mechanization and the butler mechanization will be considered separately, as will also the input and output operations of each. Appropriate headings will be used to indicate which portion of the system is being considered, whether an input or an output operation is involved, and the particular program count of the respective program counter which corresponds to the particular events being described. It is to be understood that such circuitry as drivers, amplifiers, filters and the like which may be desired at various points from a detailed circuit design viewpoint have not been specifically illustrated in FIGS. 9-11. This has been done in order not to unduly confuse the figures with details which can readily be provided within the skill of the art. It can therefore be assumed that detailed circuitry of this type is included where desirable along with or as part of those components which are illustrated in FIGS. 9-11.

I. BRANCH MECHANIZATION (FIGS. 9 AND 10) (A) Branch input operations.(Prograrn counts 1P 1P 1P 1P IP., and II of input program counter 300 in FIG. 10a.)

1. Program count [P rest count P then both IP and CF will be true to cause pulses from a scan clock 301 (which may typically run at 2,000 cycles per second) to be applied (through AND gate 303 and OR gate 304) to the count input of a scan counter 302. The scan counter 302 is provided with eight scan counts to 15 (one for each window machine) which become true in sequence as the scan counter 302 counts in response to the applied pulses from the scan clock 301. These scan output counts IS to 15 are fed from the branch controller 30 to respective ones of the eight window machines 40 via their respective electronics units 40a, as indicated in FIG. 911 for the window machine corresponding to scan count 15 As typically illustrated in FIG. 9a, each Window machine 40 is provided with a ready to input" switch 150 which will be closed only if the respective window machine is ready to input-that is, if an entry made by the teller is in the keyboard switches (FIG. 4) waiting to be read out. Thus, assuming that the window machine illustrated in FIGS. 9a and 9b, is ready to input so that the ready to input switch 150 is closed, then, when the scan counter 302 (FIG. 100) causes scan count 15 to become true, the closed ready to input switch 150 will feed the true count 18 back along line 1M to the branch controller 30 (via its respective electronics unit 40a) to cause the input program counter 300 (FIG. 10a) to be advanced from IP to the next program count 1P (again assuming that output program counter 320 in FIG. 10!) is in rest count CP The advance of the input program counter 300 to IP in response to the returned true signal along line 1M occurs sutliciently fast so that the scan counter 302 is frozen in scan count I8 2. Program count 1P Program count IP is applied to a control signal generator 307 (FIG. 10a) to cause generation of a REQUEST TO INPUT control signal in binary coded form. This REQUEST TO INPUT control signal is fed to a transmitter and converter 309 provided at the branch for the purpose of transmitting signals from the branch to the central accounting location by way of the telephone lines 20a (FIG. I) connected therebetween. The transmitter and converter 309 continuously provides clock pulses C (which may typically have a repetition rate of 2,000 cycles per second) for the purpose of indicating when the transmitter and converter 309 is ready to receive a binary coded signal for transmission. These clock pulses C are fed to the control signal generator 307 so that the RE- QUEST TO INPUT control signal can be fed to the transmitter and converter 309 at the proper times during IP These same transmitter clock pulses are also fed to other logical circuitry in the branch controller to likewise control the time of feeding of signals to the transmitter and converter 309. Also, these transmitter clock pulses C; are preferably synchronized with the clock pulses of the scan clock 301. Typically, the transmitter and con verter 309 accepts the bits of each binary coded signal in parallel, and then converts the signal to serial form for transmission in order to minimize the number of telephone lines required.

The input program counter 300 remains in program count 1P until an O.K. TO INPUT control signal is received by the branch from the central accounting location, again via the telephone lines 20a. As with all signals sent to the branch from the central location, the O.K. TO INPUT control signal is received by a receiver and converter 311 (FIG. 1011) which receives and converts the signal from the serial form in which it is transmitted into binary coded form for use by the branch controller 30. Also, one of the seven hits of each coded binary digit which is transmitted is used to identify whether the digit represents data (such as an amount row magnitude) or a control signal (such as the O.K. TO INPUT control signal). This identifying bit is used by the receiver and converter 311 to generate either a data clock pulse C when the digit received is a data signal, or a control signal clock pulse C when the digit received is a control signal. These clock pulses C and C are used in properly directing a received binary coded digit appearing at the output of the receiver and converter 311 to the remainder of the branch. Also, it is preferable that the clock pulses C and C be in synchronism with the clock pulses C produced by the transmitter and converter 309 (as indicated by interconnecting line 311o )that is, the clock pulses may have different repetition rates, but when they do occur together they are in phase. Typically. the transmitter and converter 309 and the receiver and converter 311 may employ what is known in the art as a Bell System Data Set 201A, which is a modulator-dcmodulator designed to transmit and receive data over a switched voice frequency telephone circuit or a private line at a transmission rate of up to 2,000 bits per second.

When the OR. TO INPUT control signal is sent to the branch from the central location, it will be applied to the receiver and converter 311, which in turn will feed the O.K. TO INPUT signal in binary coded form to a control character decoder 310 (FIG. 10b) ac vated by the control clock pulse C produced by the receivi. r and converter 311 when the binary coded form of the UK. TO INPUT appears at the output thereof. The control character decoder 310 decodes the binary coded O.K. TO INPUT control signal applied thereto, causing its respective O.K. TO IN- PUT output line to become true to act through AND gate 313 to advance the input program counter 300 (FIG. 10a) to its next program count 1P 3. Program count [P In addition to causing advancement of the input program counter 300 to 1P the true O.K. TO INPUT signal appearing at the output of the control character decoder 310 (FIG. 101 results in a true selection signal being sent (as a result of the action of AND gates 314 and 315 in FIG. 10a) over selection line 1W (FIG. 10a) to the electronics unit 40a (FIG. 9a) of the window machine corresponding to the frozen scan count 15 of the scan counter 302. The true signal 1W turns on the input select flip-flop 210 (FIG. 9a) to enable the respective in put message gates 200 so as to establish, during program count IP the communication required between the branch controller 30 and the selected window machine for transmission of the eighteen digit input message illustrated in FIG. 7 to the central accounting location.

The first digit to be transmitted is the scan position of the selected window machine. This scan position digit is applied to the transmitter and converter 309 at the next transmitter clock pulse C following the advancement of the input program counter 300 to 1P using the scan counts I5 to 15 which are applied to respective AND gates 321-328, whose outputs are in turn applied to a decimal to binary converter 325a activated by 1P and the transmitter clock pulses C An input digit counter 330 (FIG. 10a) is initially at its first count lD during IP and is sequentially advanced through its counts ID ID by transmitter clock pulses C occurring during TF The digit counts ID -ID of the digit counter 330 are used to identify the digits of the eighteen digit input message segment as they are sent, and to energize the appropriate logical circuitry for each digit. Thus, at the first transmitter clock pulse C following advancement of the input program counter 300 to 1P the input counter will still be in count ID; (since all counters change only in response to the trailing edge of "*2 input true pulse as pointed out previously) so that AND gates 321328 will be enabled to pass the scan position information to the decimal to binary converter 325a and then onto the transmitter and converter 309 as the first digit of the input message segment.

As indicated in FIG. 7, the next digits of significance to be sent to the central location are digits 311 (the second digit is blank), and this is accomplished as the transmitter clock pulses C cause the input digit counter 330 (FIG. 10a) to count during 1P through counts ID -JD which counts are fed through the input message gates 200 (FIG. 9a) of the selected window machine to the rows of the window machine keyboard switches (FIG. 4) corresponding to the nine amount rows (FIGS. 3 and 3a). Thus, for each of the digit counts lD ID an appropriate one of the input signals I 4 is read out from the keyboard switches and sent to the transmitter and converter 309 via the input gates 200 and the decimal to binary converter 325a, whereby the entry made in the amount rows by the teller will be transmitted to the central accounting location, as previously described in connection with FIG. 4.

The next two digits 12 and 13 (FIG. 7) to be sent to the central accounting location provide a two-digit number which uniquely identifies the selected window machine from all other window machines in the system. This identifying number is provided by suitable window numher circuitry 201 (FIG. 9a) whose output is fed through gates 202 (enabled by digit counts ID and ID and I through the input message gates 200 and the decimal to binary converter 325a to the transmitter and converter 309 (FlG. a) for transmission to the central accounting location.

The next four digits 1417 (FIG. 7) correspond to the control rows of the window machine keyboard (FIGS. 3 and 3a) and these are read out from the window machine keyboard switches (FIG. 4) and sent to the transmitter and converter 309 in response to digit counts ID ID in the same way as are the nine amount rows in response to digit counts ID -ID The last digit to be applied to the transmitter and converter 309 is a sum parity digit (also called a sum check digit) which brings the entire eighteen digit input message segment into a predetermined parity for checking of accuracy of transmission at the central accounting location. Each binary coded digit also includes its own parity bit which is also checked at the central location. The parity bit of each binary coded digit is generated by the decimal to binary converter 325a (FIG. 100), while the sum parity digit (which is the eighteenth digit of the input message segment) is generated by a sum parity generator 333 (FIG. 10a) activated during each transmitter pulse C of the program count 1P When the transmitter clock pulse C occurs during the last digit count ID the sum parity generator 333 is caused to feed its resultant sum parity digit to the transmitter and converter 309 for transmission to the central location.

The transmitter clock pulse C occurring when the input digit counter 330 (FIG. 10a) is in digit count ID returns the input digit counter 330 to its inital count ID and advances the input program counter 300 to the next count IP;,.

4. Program count 1P During 1P the branch controller awaits receipt of either a MESSAGE O.K. or a MESSAGE ERROR signal from the central location. There are three possibilities that can occur.

(a) If a MESSAGE O.K. signal is sent from the central location. the control character decoder 310 (FIG. 10b) MESSAGE O.K. output line becomes true to cause the input program counter 300 to advance to program count IP (b) If a MESSAGE ERROR signal is sent from the central location, the MESSAGE ERROR output line of the control character decoder (FIG. 10b) becomes true to cause the input program counter 300 to advance to program count II...

(c) If for any reason no message is received from the central location, then a timer 335 (FIG. 10a) (which is energized during IP will run out and produce an output pulse to also advance the input program counter 300 to program count IP which resets the timer 335.

2O 5. Program count 1P Program count IP is fed to the selected window machine through input message gates 200 (FIG. 9a) to a lam memory 215, which in turn causes illumination of an appropriate one of the lamps 125 on the window machine (FIG. 3) to indicate to the teller that he may make the next entry. If the just read out teller entry included depression of an account number key, then the lamp memory 215 acts to cause illumination of another one of the window machine lamps 125 to indicate that the input message is completed and the teller must now await an output message from the processor.

At the next transmitter clock pulse C following advancement of the input program counter 300 to IP the program counter will be advanced back to its rest program count 1P which turns off the input select flipfiop 210 (FIG. 9a) to break communication between the branch controller 30 and the selected window machine 40. It should be noted that the program count IP is also fed to the count input of the scan counter 302 (FIG. lOa) through OR gates 341 and 304 in order to permit the scan counter 302 to start at the next scan count when the input program counter 300 returns to IP 6. Program count IP Program count IP,, is fed to the lamp memory 215 (FIG. 9a) of the selected window machine through input message gates 200 (FIG. 9a) which causes illumination of an appropriate one of the lamps 125 (FIG. 3) on the window machine to indicate to the teller that an error occurred during handling of the previous entry, whereby the teller is advised to depress the VOID key and repeat the previous entry. Upon depression of the VOID key, a signal is sent to the lamp memory 215 (FlG. 9a) to reset the error lamp and cause illumination of an appropriate lamp to indicate to the teller that the window machine is ready for an entry.

At the next transmitter clock pulse C following advancement of the input program counter 300 to 1P the input program counter 300 is advanced back to its rest program count IP which turns off the input selected flipfiop 210 (FIG. 9a) to break communication between the branch controller 30 and the selected window machine 40. It should be noted that the program count IP. is also fed to the count input of the scan counter 302 (FIG. through OR gates 341 and 304 in order to permit the scan counter 302 to start at the next scan count when the input program counter 300 returns to W (H) Branch output 0pci'uti0ns.-(Program counts OP 0P and 0P of output program counter 320 in FIG. 10b.)

1. Program count 0P During OP (which is the rest count for the output program counter 320) the branch output circuitry re mains quiescent and the true state of 0P permits the branch controller 30 to handle input message segments. The output program counter 320 remains in CP until the REQUEST TO OUTPUT line of the control character decoder 310 (FIG. 10b) becomes true to advance the output program counter 320 to 0P This occurs in response to a REQUEST TO OUTPUT control signal sent by the buffer 15 at the central accounting location when it is going to send an output message segment to the branch, which it will do regardless of the conditions at the branch or the window machine for which the output is intended.

2. Program count OP,

During 0P the data clock signals C produced by the receiver and converter 311 (FIG. 10b) (in response to the appearance at the output thereof of each data digit of the eighteen digit output message segment sent from the central location) are used to advance the counts OD OD of an output digit counter 352 (FIG. 10b) 

1. IN AN ON-LINE BANKING SYSTEM, A CENTRAL ACCOUNTING LOCATION AND A PLURALITY OF BRANCHES COOPERATING THEREWITH, SAID CENTRAL ACCOUNTING LOCATION HAVING A DATA PROCESSOR, A RANDOM ACCESS UNIT PROVIDING A HIGH CAPACITY RAPID ACCESS STORE FOR SAID PROCESSOR, AND AT LEAST ONE BUFFER PROVIDED TO CONTROL THE FLOW OF INFORMATION BETWEEN SAID DATA PROCESSOR AND A PREDETERMINED PLURALITY OF SAID BRANCHES, EACH OF SAID BRANCHES INCLUDING A PLURALITY OF MULTI-ROW KEYBOARD WINDOW MACHINES, AN ASSOCIATED UNIT FOR EACH WINDOW MACHINE, AND A BRANCH CONTROLLER PROVIDED TO CONTROL THE FLOW OF INFORMATION BETWEEN SAID WINDOW MACHINES VIA THEIR RESPECTIVE ASSOCIATED UNITS AND SAID CENTRAL ACCOUNTING LOCATION, EACH BRANCH CONTROLLER INCLUDING MEANS FOR SEQUENTIALLY SCANNING SAID WINDOW MACHINES UNTIL ONE IS FOUND WHICH IS READY TO HAVE A KEYBOARD ENTRY READ OUT THEREFROM IN RESPONSE TO WHICH THE BRANCH CONTROLLER SIGNALS THE CENTRAL ACCOUNTING LOCATION THAT IT IS READY TO TRANSMIT A MESSAGE SEGMENT THERETO, A MESSAGE SEGMENT CORRESPONDING TO A SINGLE WINDOW MACHINE KEYBOARD ENTRY, SAID BUFFER INCLUDING MEANS FOR SEQUENTIALLY SCANNING SAID PREDETERMINED PLURALITY OF BRANCHES UNTIL ONE IS FOUND WHICH IS READY TO TRANSMIT A MESSAGE SEGMENT IN RESPONSE TO WHICH THE BUFFER SENDS A SIGNAL TO THE SELECTED BRANCH WHICH CAUSES THE BRANCH CONTROLLER TO READ OUT THE KEYBOARD ENTRY FROM THE SELECTED WINDOW MACHINE AND TRANSMIT IT WITHOUT INTERMEDIATE STORAGE TO THE BUFFER AT THE CENTRAL ACCOUNTING LOCATION, SAID BUFFER INCLUDING A BUFFER REGISTER FOR STORING THE RECEIVED MESSAGE SEGMENT UNTIL THE DATA PROCESSOR IS READY TO ACCEPT THE MESSAGE SEGMENT THEREFROM.
 5. IN AN ON-LINE SYSTEM, A CENTRAL LOCATION AND A PLURALITY OF REMOTE INPUT-OUTPUT DEVICES COOPERATING THEREWITH, SAID CENTRAL LOCATION HAVING A DATA PROCESSOR, A HIGH CAPACITY RANDOM ACCESS UNIT COOPERATING WITH SAID PROCESSOR, RECEIVING MEANS FOR RECEIVING AN INPUT MESSAGE FROM AN INPUT-OUTPUT DEVICE FOR FEEDING TO SAID PROCESSOR, TRANSMITTING MEANS FOR SERIALLY TRANSMITTING A MULTI-DIGIT OUTPUT MESSAGE FROM SAID PROCESSOR TO ONE OF SAID REMOTE INPUT-OUTPUT DEVICES, EACH INPUT-OUTPUT DEVICE INCLUDING COMPONENTS RESPONSIVE TO RESPECTIVE DIGITS OF AN OUTPUT MESSAGE WITH SIGNIFICANTLY DIFFERENT RESPONSE TIMES, SAID TRANSMITTING MEANS INCLUDING MEANS RESPONSIVE TO THE DIGITS OF THE OUTPUT MESSAGE FOR PROVIDING AN AUTOMATICALLY CHANGEABLE TIME INTERVAL BETWEEN THE TRANSMISSION OF THE DIGITS OF SAID OUTPUT MESSAGE IN DEPENDENCE UPON THE RESPONSE TIMES OF THE COMPONENTS OF THE INPUT-OUTPUT DEVICE TO WHICH THE DIGITS OF THE OUTPUT MESSAGE ARE SENT. 